<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>JSP DEMO 02</title>
</head>
<body>
<h1>内置对象</h1>
<hr>
<h2>一. 九大内置对象</h2>
<ol>
    <li>pageContext 存东西</li>
    <li>Request 存东西</li>
    <li>Response</li>
    <li>Session 存东西</li>
    <li>Application [Servlet.Context]存东西</li>
    <li>config [Servlet.Config]</li>
    <li>out</li>
    <li>page</li>
    <li>exception</li>
</ol>
<hr>
<h2>二. 存储数据</h2>
    <p>pageContext.setAttribute("info","set_by_pageContext"); // 页面级: 当前页面范围作用域</p>
    <p>request.setAttribute("info","set_by_requst"); // 请求级: 一次请求的作用域</p>
    <p>session.setAttribute("info","set_by_session"); // 会话级: 一次会话的作用域</p>
    <p>application.setAttribute("info","set_by_application");// 应用级: 服务器的一次启动到关闭</p>
<%
    pageContext.setAttribute("info1","set_by_pageContext"); // 页面级: 当前页面范围作用域
    request.setAttribute("info2","set_by_requst");          // 请求级: 一次请求的作用域
    session.setAttribute("info3","set_by_session");         // 会话级: 一次会话的作用域
    application.setAttribute("info4","set_by_application"); // 应用级: 服务器的一次启动到关闭
    request.setAttribute("info1","set_by_requst");
%>
<hr>
<h2>三. 读取数据</h2>
    <p> 1. 统一用pageContext.findAttribute(key)的方式可以查到全page的Arttibute.[*不能同key名]</p>
    <ul>读取结果:
    (查找优先按作用域由低到高 页面->请求->会话->应用 )
        <li><%= pageContext.findAttribute("info1")%></li>
        <li><%= pageContext.findAttribute("info2")%></li>
        <li><%= pageContext.findAttribute("info3")%></li>
        <li><%= pageContext.findAttribute("info4")%></li>
    </ul>
    <p> 2. 用 内置对象.getAttribute(key)的方式调用.[*不同的内置对象可以同key名]</p>
    <ul>
        <li>页面级: <%= pageContext.getAttribute("info1")%></li>
        <li>请求级: <%= request.getAttribute("info1")%></li>
        <li>会话级: <%= session.getAttribute("info3")%></li>
        <li>应用级: <%= application.getAttribute("info4")%></li>
    </ul>
<h2>四. 页面转发</h2>
<p>通过 pageContext.forward("/home"); 转发到(URL)/home</p>
    <%-- <% pageContext.forward("/home"); %> --%>
</body>
</html>
